#ifndef DBMANAGER_H
#define DBMANAGER_H
//数据库对象
#include <QSqlDatabase>
//执行sql语句对象
#include <QSqlQuery>
#include <QDebug>
//数据库关联类：1.人员表 2.历史记录表
//单例模式
#include <QDateTime>
#include <vector>
using namespace std;
struct SongInfo
{
    QString userName;
    QString musicName;
    int id;
    QDateTime updateTime;

    bool operator<(const SongInfo& info)const
    {
        return musicName <info.musicName;
    }
};
class DbManager
{
    DbManager();
    DbManager(const DbManager&);
    //指向唯一对象的静态指针
    static DbManager* dbPter;

    QSqlDatabase db;

    void createTable();
public:
    //全局访问口（想获取唯一的对象，只能地哦啊用这个静态函数）
    static DbManager* getDbPtr();

    //插入一条历史 记录
    bool insertHistory(SongInfo info);

    //查询所有记录
    void selectHistory(vector<SongInfo>& vec,QString name);

    //注册时，先查询注册的用户名是否 存在
    bool selectUserName(QString name);

    bool insertUser(QString userName,QString passWord);

    bool userLogin(QString name,QString pass);



    ~DbManager();
};

#endif // DBMANAGER_H
